//    
procedure ProdArray (RqArray   : array of integer;
                var ProdResult : double;
                    RqReport   : TMemo);
var Ind : integer;
begin
  ProdResult := 1;
  for Ind := Low(RqArray) to High(RqArray) do
  begin
    if RqArray[Ind] <> 0
    then ProdResult := ProdResult * RqArray[Ind];
  end;
  // 
  RqReport.Lines.Add('');
  RqReport.Lines.Add('   :');
  RqReport.Lines.Add(FloatToStr(ProdResult));
end; // of procedure